package com.gpstracking.Servlets;

import java.io.IOException;
import java.io.PrintWriter;
import java.lang.reflect.Type;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import com.gpstracking.BE.Usuario;
import com.gpstracking.BL.CondicionBL;

/**
 * Servlet implementation class ServletCreateArea
 */
public class ServletCondicion extends HttpServlet {
	private static final long serialVersionUID = 1L;

    /**
     * Default constructor. 
     */
    public ServletCondicion() {
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		
	
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		response.setContentType("text/html");
		// TODO Auto-generated method stub
		String tc = request.getParameter("tipo");
		
		
		String nombre = request.getParameter("nombre");
		String descripcion = request.getParameter("descripcion");
		String id = request.getParameter("id");
		String dentroFuera = request.getParameter("donde");
		
		String desde = request.getParameter("desde");
		String hasta = request.getParameter("hasta");
		String repite = request.getParameter("repite");
		
		String minmax = request.getParameter("minmax");
		String tiempo = request.getParameter("tiempo");
		
		CondicionBL controller = new CondicionBL();
		
		List<Date> lstdesde = new ArrayList<Date>();
		List<Date> lsthasta = new ArrayList<Date>();
		List<String> lstrepite = new ArrayList<String>();
		
    	
		try{
			if ( desde != null ){
				if ( desde.trim().equals("") || desde.isEmpty() );
				else{
					SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy hh:mm");
					lstdesde.add( format.parse(desde) );
					lsthasta.add( format.parse(hasta) );
					lstrepite.add( repite ) ;
				}
			}
			
		}catch (Exception e) {
			e.printStackTrace();
		}
		HttpSession session = request.getSession(true);
		Usuario usuario = (Usuario)session.getAttribute("user");
		
		boolean res = false;
		if ( tc.charAt(0) == 'a' ){
		
			res = controller.registrarCondicionArea(nombre, descripcion, Integer.parseInt(id) , dentroFuera, lstdesde, lsthasta, lstrepite , usuario );
		}else if ( tc.charAt(0) == 'r' ){
			
			res = controller.registrarCondicionRuta(nombre, descripcion, Integer.parseInt(id) , lstdesde, lsthasta, lstrepite, usuario  );
			
		}else if ( tc.charAt(0) == 'i'){
			res = controller.registrarCondicionInmovilidad(nombre, descripcion, minmax, Integer.parseInt(tiempo), lstdesde, lsthasta, lstrepite , usuario  );
			
		}
		
		PrintWriter out = response.getWriter();
		
	
		if ( res ){
			
			out.print("1");
		}else{
			
			out.print("0");
		}
		
		
	}

}
